<?php
/**
 * Implenta las funciones necesarias para gestionar un presupuesto del sistema
 *
 * @author Daniel Cardoza, Gary Dos Santos, Freddy Rodriguez
 */
class DBPresupuestoDAO {

    private $DBConn = null;

    public function  __construct() {
        $conexion = new conexion();
        $this->DBConn = $conexion->setConnect();
    }

    /**
     *Devuelve el id del ultimo presupuesto que tiene un cliente
     *
     * @param <int> $id
     * @return <Array> $fila[ 'PTO_ID' ]
     * @test
     *
     */
    public function getPresupuestoId( $id ) {
        $this->DBConn->consulta( "SELECT PTO_ID FROM Presupuesto
                                WHERE PTO_CLT_ID = $id
                                AND PTO_STATUS = 1
                                ORDER BY PTO_ID DESC " );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila[ 'PTO_ID' ];
        } else {
            return false;
        }

    }

    /**
     * Setea un bloque con la informacion de los presupuestos
     *
     * @param <panel> $plantillaCON
     * @param <block> $block
     * @test
     */
    public function setBlockPresupuesto( $plantillaCON , $block ) {
        $hBlock = $plantillaCON->setBlock( $block );
        $CLT_ID = $_GET["CLT_ID"];
        $this->DBConn->consulta( "SELECT *
                            FROM presupuesto
                            WHERE PTO_STATUS = 1
                            AND PTO_CLT_ID = $CLT_ID
                            AND PTO_STATUS = 1" );

        while ( $fila = $this->DBConn->extraer_registro() ) {
            $fila['PTO_PRECIO_TOTAL'] = number_format( $fila['PTO_PRECIO_TOTAL'], 2, ",", "." );
            $plantillaCON->add( $fila );
            $plantillaCON->concat( $hBlock );
        }

    }

    /**
     * Actualiza el precio total de un presupuesto, es decir la suma de todos sus
     * detalles
     *
     * @test
     */
    public function setUpdatePresupuestoTotal( ) {
        $CLT_ID = $_GET["CLT_ID"];
        $vecIds = null;
        $this->DBConn->consulta( "SELECT PTO_ID
                            FROM presupuesto
                            WHERE PTO_STATUS = 1
                            AND PTO_CLT_ID = $CLT_ID" );
        $i = 0;

        while ( $fila = $this->DBConn->extraer_registro() ) {
            $vecIds[$i] = $fila['PTO_ID'];
            $i++;

        }

        if ( $vecIds != null ) {
            foreach ( $vecIds as $value) {
                $this->DBConn->consulta( "UPDATE presupuesto
                                        SET PTO_PRECIO_TOTAL =
                                        (SELECT SUM(DPR_SUB_TOTAL) suma
                                        FROM detalle_presupuesto
                                        WHERE DPR_PTO_ID = $value
                                        AND DPR_STATUS = 1)
                                        WHERE PTO_ID = $value
                                        AND PTO_STATUS = 1" );
            }
        }

        $this->DBConn->consulta( "UPDATE presupuesto SET PTO_STATUS = 0
                                WHERE PTO_PRECIO_TOTAL IS NULL
                                AND PTO_CLT_ID = $CLT_ID" );

    }

    /**
     * Introduce un presupuesto nuevo a la base de datos
     *
     * @return <bool> true
     * @return <bool> false
     * @test
     */
    public function setPrespuesto( $CLT_ID ) {
        $PTO_FECHA_CREACION = $_SESSION['USR_FECHA'];
        $sumar = true;
        
        $this->DBConn->consulta( "SELECT * FROM presupuesto ORDER BY PTO_ID DESC LIMIT 1" );

        $fila = $this->DBConn->extraer_registro();
        $presioTotal = $fila['PTO_PRECIO_TOTAL'];
        $presupuestoId = $fila['PTO_ID'];

        if ($presioTotal == ""){
            $this->DBConn->consulta( "DELETE FROM presupuesto WHERE PTO_ID=$presupuestoId LIMIT 1;" );
            $sumar = false;
        }
        
        $this->DBConn->consulta( "SELECT * FROM codigo_presupuesto" );

        $fila = $this->DBConn->extraer_registro();
        $codigo = $fila['COD_CODIGO'];
        $ano = $fila['COD_ANO'];

        if ($sumar)
            $codigo++;

        if($ano != $_SESSION['ANO']){
            $codigo = 1;
            $ano = $_SESSION['ANO'];
        }
        $this->DBConn->consulta( "UPDATE codigo_presupuesto SET COD_CODIGO = $codigo, COD_ANO = $ano
                        WHERE COD_ID = 1" );

        $codigo = $_SESSION['ANO'] . ( $codigo );


        $this->DBConn->consulta( "INSERT INTO Presupuesto (PTO_ID,PTO_FECHA_CREACION,PTO_CLT_ID)
                                VALUES ($codigo,'$PTO_FECHA_CREACION',$CLT_ID) " );

        if ( $this->DBConn->filasAfectadas() != -1) {
            return true;
        } else {
            return false;
        }

    }

    /**
     * Devuelve el mes en espanol
     *
     * @param <int> $PTO_ID
     * @return <string> $fila['MES']
     * @return <bool> false
     * @test
     */
    public function consultaMes( $PTO_ID ) {

        $this->DBConn->consulta( "SELECT
                CASE WHEN MONTH(PTO_FECHA_CREACION) = 1 THEN 'Enero'
                WHEN MONTH(PTO_FECHA_CREACION) = 2 THEN 'Febrero'
                WHEN MONTH(PTO_FECHA_CREACION) = 3 THEN 'Marzo'
                WHEN MONTH(PTO_FECHA_CREACION) = 4 THEN 'Abril'
                WHEN MONTH(PTO_FECHA_CREACION) = 5 THEN 'Mayo'
                WHEN MONTH(PTO_FECHA_CREACION) = 6 THEN 'Junio'
                WHEN MONTH(PTO_FECHA_CREACION) = 7 THEN 'Julio'
                WHEN MONTH(PTO_FECHA_CREACION) = 8 THEN 'Agosto'
                WHEN MONTH(PTO_FECHA_CREACION) = 9 THEN 'Septiembre'
                WHEN MONTH(PTO_FECHA_CREACION) = 10 THEN 'Octubre'
                WHEN MONTH(PTO_FECHA_CREACION) = 11 THEN 'Noviembre'
                WHEN MONTH(PTO_FECHA_CREACION) = 12 THEN 'Diciembre'
                ELSE \"-\" END AS MES from PRESUPUESTO
                WHERE PTO_ID= $PTO_ID" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila['MES'];
        } else {
            return false;
        }

    }

    /**
     * Devuelve una fila con toda la informacion del presupuesto dado un id
     *
     * @param <int> $PTO_ID
     * @return <string> $fila
     * @return <bool> false
     * @test
     */
    public function consultaPresupuesto( $PTO_ID ) {

        $this->DBConn->consulta( "SELECT *
                                FROM PRESUPUESTO
                                WHERE PTO_ID= $PTO_ID
                                AND PTO_STATUS = 1" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            $fila['PTO_PRECIO_TOTAL'] = number_format( $fila['PTO_PRECIO_TOTAL'], 2, ",", "." );
            return $fila;
        } else {
            return false;
        }

    }

    /**
     * Devuelve una fila con toda la informacion del detalle de presupuesto dado un id
     *
     * @param <int> $PTO_ID
     * @return <string> $fila
     * @return <bool> false
     * @test
     */
    public function consultaDetallePresupuesto( $PTO_ID ) {
        extract( $_GET );
        $this->DBConn->consulta( "SELECT DPR_ALM_ID, DPR_CRT_ID, DPR_ACC_ID
                                 DPR_PTA_ID, DPR_VTA_ID, DPR_SUB_TOTAL
                                 FROM PRESUPUESTO, DETALLE_PRESUPUESTO
                                 WHERE $DPR_PTO_ID = $PTO_ID
                                 AND DPR_STATUS = 1" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila;
        } else {
            return false;
        }

    }

    /**
     * Devuelve una fila con toda la informacion de un aluminio dado su id
     *
     * @param <int> $PTO_ALM_ID
     * @return <string> $fila
     * @return <bool> false
     * @test
     */
    public function consultaAluminio( $PTO_ALM_ID ) {
        extract( $_GET );
        $this->DBConn->consulta( "SELECT ALM_NOMBRE, ALM_TIPO, ALM_COLOR,
                                 ALM_TIPO_COLOR, ALM_LARGO, ALM_PRECIO
                                 ALM_CANTIDAD, ALM_STATUS
                                 FROM ALUMINIO
                                 WHERE $ALM_ID = $PTO_ALM_ID
                                 AND ALM_STATUS = 1" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila;
        } else {
            return false;
        }
    }

    /**
     * Devuelve una fila con toda la informacion de un cristal dado su id
     *
     * @param <int> $PTO_CRT_ID
     * @return <string> $fila
     * @return <bool> false
     * @test
     */
    public function consultaCristal( $PTO_CRT_ID ) {
        extract( $_GET );
        $this->DBConn->consulta( "SELECT CRT_NOMBRE, CRT_COLOR,
                                CRT_ESPESOR, CRT_ANCHO, CRT_LARGO, CRT_PRECIO
                                CRT_CANTIDAD, CRT_STATUS
                                FROM ALUMINIO
                                WHERE $CRT_ID = $PTO_CRT_ID
                                AND CRT_STATUS = 1" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila;
        } else {
            return false;
        }
    }

    /**
     * Devuelve una fila con toda la informacion de un puerta dado su id
     *
     * @param <int> $PTO_ALM_ID
     * @return <string> $fila
     * @return <bool> false
     * @test
     */
    public function consultaPuerta( $PTO_PTA_ID ) {
        extract( $_GET );
        $this->DBConn->consulta( "SELECT PTA_NOMBRE, PTA_COLOR,
                                PTA_ESPESOR, PTA_ANCHO, PTA_LARGO,
                                PTA_PRECIO, PTA_CANTIDAD, PTA_STATUS
                                FROM PUERTA
                                WHERE $PTA_ID = $PTO_PTA_ID
                                AND PTA_STATUS = 1" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila;
        } else {
            return false;
        }
    }

    /**
     * Devuelve el id del presupuesto de la tabla detalle
     *
     * @param <int> $id
     * @return <int> $fila[ 'PTO_ID' ]
     * @test
     *
     */
    public function getDetallePresupuesto( $id ) {
        $this->DBConn->consulta( "SELECT *
                                FROM detalle_presupuesto
                                WHERE DPR_PTO_ID = $id" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila[ 'PTO_ID' ];
        } else {
            return false;
        }

    }

    /**
     * Setea un bloque con la informacion de los detalle de los presupuestos
     *
     * @param <panel> $plantillaCON
     * @param <block> $block
     * @test
     */
    public function setBlockDetallePresupuesto( $plantillaCON , $block ) {
        $hBlock = $plantillaCON->setBlock( $block );
        $PTO_ID = $_GET["PTO_ID"];
        $this->DBConn->consulta( "SELECT *
                                FROM detalle_presupuesto
                                WHERE DPR_PTO_ID = $PTO_ID
                                AND DPR_STATUS = 1" );


        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }

        if ($ids != null) {
            foreach ($ids as $valor) {
                if ($valor['DPR_ALM_ID'] != "") {
                    $ALM_ID = $valor['DPR_ALM_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM aluminio
                                            WHERE ALM_ID = $ALM_ID
                                            AND ALM_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0) {
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID_CON_TIPO'] = "ALM-".$filaNombre['ALM_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['ALM_NOMBRE'];
                        $NOMBRE['CANT'] = $filaNombre['ALM_CANTIDAD'];
                        $NOMBRE['PREC'] = $subTotal;
                        $NOMBRE['AXA'] = $filaNombre['ALM_ANCHO']/1000 . " M";
                        $NOMBRE['ID'] = $filaNombre['ALM_ID'];
                        $NOMBRE['TIPO_ID'] = 'ALM';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_CRT_ID'] != "") {
                    $CRT_ID = $valor['DPR_CRT_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM cristal
                                            WHERE CRT_ID = $CRT_ID
                                            AND CRT_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0) {
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID_CON_TIPO'] = "CRT-".$filaNombre['CRT_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['CRT_NOMBRE'];
                        $NOMBRE['CANT'] = $filaNombre['CRT_CANTIDAD'];
                        $NOMBRE['PREC'] = $subTotal;
                        $NOMBRE['AXA'] = $filaNombre['CRT_ANCHO']/1000 * $filaNombre['CRT_ALTO']/1000 . " M<sup>2";
                        $NOMBRE['ID'] = $filaNombre['CRT_ID'];
                        $NOMBRE['TIPO_ID'] = 'CRT';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_ACC_ID'] != "") {
                    $ACC_ID = $valor['DPR_ACC_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM accesorio
                                            WHERE ACC_ID = $ACC_ID
                                            AND ACC_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0) {
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID_CON_TIPO'] = "ACC-".$filaNombre['ACC_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['ACC_NOMBRE'];
                        $NOMBRE['CANT'] = $filaNombre['ACC_CANTIDAD'];
                        $NOMBRE['PREC'] = $subTotal;
                        $NOMBRE['AXA'] = "N/A";
                        $NOMBRE['ID'] = $filaNombre['ACC_ID'];
                        $NOMBRE['TIPO_ID'] = 'ACC';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_PTA_ID'] != "") {
                    $PTA_ID = $valor['DPR_PTA_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM puerta
                                            WHERE PTA_ID = $PTA_ID
                                            AND PTA_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0) {
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID_CON_TIPO'] = "PTA-".$filaNombre['PTA_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['PTA_NOMBRE'];
                        $NOMBRE['CANT'] = $filaNombre['PTA_CANTIDAD'];
                        $NOMBRE['PREC'] = $subTotal;
                        $NOMBRE['AXA'] = $filaNombre['PTA_ANCHO']/1000 * $filaNombre['PTA_ALTO']/1000 . " M<sup>2";
                        $NOMBRE['ID'] = $filaNombre['PTA_ID'];
                        $NOMBRE['TIPO_ID'] = 'PTA';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_VTA_ID'] != "") {
                    $VTA_ID = $valor['DPR_VTA_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM ventana
                                            WHERE VTA_ID = $VTA_ID
                                            AND VTA_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0) {
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID_CON_TIPO'] = "VTA-".$filaNombre['VTA_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['VTA_NOMBRE'];
                        $NOMBRE['CANT'] = $filaNombre['VTA_CANTIDAD'];
                        $NOMBRE['PREC'] = $subTotal;
                        $NOMBRE['AXA'] = $filaNombre['VTA_ANCHO']/1000 * $filaNombre['VTA_ALTO']/1000 . " M<sup>2";
                        $NOMBRE['ID'] = $filaNombre['VTA_ID'];
                        $NOMBRE['TIPO_ID'] = 'VTA';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_SIN_ID'] != "") {
                    $SIN_ID = $valor['DPR_SIN_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM suministro_instalacion
                                            WHERE SIN_ID = $SIN_ID
                                            AND SIN_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0) {
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID_CON_TIPO'] = "SIN-".$filaNombre['SIN_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['SIN_NOMBRE'];
                        $NOMBRE['CANT'] = $filaNombre['SIN_CANTIDAD'];
                        $NOMBRE['PREC'] = $subTotal;
                        $NOMBRE['AXA'] = "N/A";
                        $NOMBRE['ID'] = $filaNombre['SIN_ID'];
                        $NOMBRE['TIPO_ID'] = 'SIN';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

                if ($valor['DPR_OTR_ID'] != "") {
                    $OTR_ID = $valor['DPR_OTR_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM OTRO
                                            WHERE OTR_ID = $OTR_ID
                                            AND OTR_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0) {
                        $filaNombre = $this->DBConn->extraer_registro();
                        $NOMBRE['ID_CON_TIPO'] = "OTR-".$filaNombre['OTR_ID'];
                        $NOMBRE['NOMBRE'] = $filaNombre['OTR_TITULO'];
                        $NOMBRE['CANT'] = $filaNombre['OTR_CANTIDAD'];
                        $NOMBRE['PREC'] = $subTotal;
                        $NOMBRE['AXA'] = "N/A";
                        $NOMBRE['ID'] = $filaNombre['OTR_ID'];
                        $NOMBRE['TIPO_ID'] = 'OTR';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );
                    }
                }

            }
        } else {
            return "false";
        }

    }

    /**
     * Setea un bloque con la informacion de los detalle de los presupuestos
     *
     * @param <panel> $plantillaCON
     * @param <block> $block
     * @test
     */
    public function getDetalle( $tipo , $id ) {

        if ($tipo == "ALM") {
            $this->DBConn->consulta("SELECT *
                                    FROM aluminio, detalle_presupuesto
                                    WHERE ALM_ID = $id
                                    AND ALM_ID = DPR_ALM_ID
                                    AND ALM_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0) {
                $fila = $this->DBConn->extraer_registro();
                $aluminio = new Aluminio($fila['ALM_NOMBRE'], $fila['ALM_TIPO'], $fila['ALM_CONTENIDO'],
                        $fila['ALM_COLOR'], $fila['ALM_TIPO_COLOR'],
                        $fila['ALM_ANCHO'], $fila['ALM_PRECIO'], $fila['ALM_CANTIDAD'], $fila['DPR_POS']);
                return $aluminio;
            }
        }

        if ($tipo == "CRT") {
            $this->DBConn->consulta(" SELECT *
                                    FROM cristal, detalle_presupuesto
                                    WHERE CRT_ID = $id
                                    AND CRT_ID = DPR_CRT_ID
                                    AND CRT_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0) {
                $fila = $this->DBConn->extraer_registro();
                $cristal = new Cristal($fila['CRT_NOMBRE'], $fila['CRT_COLOR'], $fila['CRT_CONTENIDO'],
                        $fila['CRT_ESPESOR'], $fila['CRT_ANCHO'], $fila['CRT_ALTO'],
                        $fila['CRT_PRECIO'], $fila['CRT_CANTIDAD'], $fila['DPR_POS']);
                return $cristal;
            }
        }

        if ($tipo == "ACC") {
            $this->DBConn->consulta(" SELECT *
                                    FROM accesorio, detalle_presupuesto
                                    WHERE ACC_ID = $id
                                    AND ACC_ID = DPR_ACC_ID
                                    AND ACC_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0) {
                $fila = $this->DBConn->extraer_registro();
                $accesorio = new Accesorio($fila['ACC_NOMBRE'], $fila['ACC_CONTENIDO'],
                        $fila['ACC_PRECIO'], $fila['ACC_CANTIDAD'], $fila['DPR_POS']);
                return $accesorio;
            }
        }

        if ($tipo == "PTA") {
            $this->DBConn->consulta(" SELECT *
                                    FROM puerta, detalle_presupuesto
                                    WHERE PTA_ID = $id
                                    AND PTA_ID = DPR_PTA_ID
                                    AND PTA_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0) {
                $fila = $this->DBConn->extraer_registro();
                $puerta = new Puerta($fila['PTA_NOMBRE'], $fila['PTA_COLOR'], $fila['PTA_CONTENIDO'],
                        $fila['PTA_CRISTAL'], $fila['PTA_CRISTAL_COLOR'], $fila['PTA_ESPESOR'],
                        $fila['PTA_ANCHO'], $fila['PTA_ALTO'], $fila['PTA_PRECIO_ANCHO'],
                        $fila['PTA_PRECIO_ALTO'], $fila['PTA_PRECIO_ACCESORIO'], $fila['PTA_PRECIO_CRISTAL'],
                        $fila['PTA_CANTIDAD'], $fila['PTA_PRECIO_ESMERILADO'], $fila['PTA_PRECIO_INSTALACION'],
                        $fila['PTA_TIPO'], $fila['DPR_POS']);
                return $puerta;
            }
        }

        if ($tipo == "VTA") {
            $this->DBConn->consulta(" SELECT *
                                    FROM ventana, detalle_presupuesto
                                    WHERE VTA_ID = $id
                                    AND VTA_ID = DPR_VTA_ID
                                    AND VTA_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0) {
                $fila = $this->DBConn->extraer_registro();
                $ventana = new Ventana($fila['VTA_NOMBRE'], $fila['VTA_COLOR'], $fila['VTA_CONTENIDO'],
                        $fila['VTA_CRISTAL'], $fila['VTA_CRISTAL_COLOR'], $fila['VTA_ESPESOR'],
                        $fila['VTA_ANCHO'], $fila['VTA_ALTO'], $fila['VTA_PRECIO_ANCHO'],
                        $fila['VTA_PRECIO_ALTO'], $fila['VTA_PRECIO_ACCESORIO'], $fila['VTA_PRECIO_CRISTAL'],
                        $fila['VTA_CANTIDAD'], $fila['VTA_PRECIO_ESMERILADO'],
                        $fila['VTA_PRECIO_INSTALACION'], $fila['DPR_POS']);
                return $ventana;
            }
        }

        if ($tipo == "SIN") {
            $this->DBConn->consulta(" SELECT *
                                    FROM suministro_instalacion, detalle_presupuesto
                                    WHERE SIN_ID = $id
                                    AND SIN_ID = DPR_SIN_ID
                                    AND SIN_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0) {
                $fila = $this->DBConn->extraer_registro();
                $instalacion = new Instalacion($fila['SIN_NOMBRE'], $fila['SIN_PRECIO'],
                        $fila['SIN_TIPO'], $fila['SIN_CANTIDAD'], $fila['DPR_POS']);
                return $instalacion;
            }
        }

        if ($tipo == "OTR") {
            $this->DBConn->consulta("SELECT *
                                    FROM OTRO, detalle_presupuesto
                                    WHERE OTR_ID = $id
                                    AND OTR_STATUS = 1 ");

            if ( $this->DBConn->filasAfectadas() != 0) {
                $fila = $this->DBConn->extraer_registro();
                $otro = new Otro($fila['OTR_TITULO'], $fila['OTR_CONTENIDO'], $fila['OTR_CONTENIDO'],
                        $fila['OTR_ANCHO'], $fila['OTR_ALTO'], $fila['OTR_CANTIDAD'],
                        $fila['OTR_PRECIO'], $fila['DPR_POS']);
                return $otro;
            }
        }
    }

    /**
     * Elimina un detalle
     *
     * @param <int> $id
     * @param <string> $tipo
     * @return <bool> true
     * @return <bool> false
     * @test
     *
     */
    function eliminarDetalle( $tipo , $id ) {

        switch ( $tipo ) {
            case "ACC":
                $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_ACC_ID = $id" );

                if ( $this->DBConn->filasAfectadas() != -1) {
                    return true;
                } else {
                    return false;
                }
                break;

            case "ALM":
                $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_ALM_ID = $id" );

                if ( $this->DBConn->filasAfectadas() != -1) {
                    return true;
                } else {
                    return false;
                }
                break;

            case "CRT":
                $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_CRT_ID = $id" );

                if ( $this->DBConn->filasAfectadas() != -1) {
                    return true;
                } else {
                    return false;
                }
                break;

            case "PTA":
                $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_PTA_ID = $id" );

                if ( $this->DBConn->filasAfectadas() != -1) {
                    return true;
                } else {
                    return false;
                }
                break;

            case "VTA":
                $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_VTA_ID = $id" );

                if ( $this->DBConn->filasAfectadas() != -1) {
                    return true;
                } else {
                    return false;
                }
                break;

            case "SIN":
                $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_SIN_ID = $id" );

                if ( $this->DBConn->filasAfectadas() != -1) {
                    return true;
                } else {
                    return false;
                }
                break;

            case "OTR":
                $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                            SET DPR_STATUS = 0
                                            WHERE DPR_OTR_ID = $id" );

                if ( $this->DBConn->filasAfectadas() != -1) {
                    return true;
                } else {
                    return false;
                }
                break;
        }
    }

    /**
     * Eliminacion de un presupuesto en base de datos
     *
     * @return <bool> true
     * @return <bool> false
     */
    function eliminarPresupuesto( $PTO_ID ) {
        $this->DBConn->consulta( "UPDATE detalle_presupuesto
                                SET DPR_STATUS = 0
                                WHERE DPR_PTO_ID = $PTO_ID" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            return true;
        } else {
            return false;
        }

    }

    /**
     * Actualiza de un presupuesto en base de datos
     *
     * @return <bool> true
     * @return <bool> false
     */
    public function presupuestoUpdate( $PTO_ID, $PTO_TIEMPO_ENTREGA, $PTO_FORMA_PAGO,$PTO_OBJETO ) {
        $this->DBConn->consulta( "UPDATE PRESUPUESTO
                            SET PTO_TIEMPO_ENTREGA = '$PTO_TIEMPO_ENTREGA',
                                PTO_FORMA_PAGO = '$PTO_FORMA_PAGO',
                                PTO_OBJETO = '$PTO_OBJETO'
                            WHERE PTO_ID = $PTO_ID" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * Devuelve el dia de la fecha de creacion, dado el id de un presupuesto
     *
     * @return <string> $fila['DAY(PTO_FECHA_CREACION)']
     * @return <bool> false
     */
    public function consultaDia( $PTO_ID ) {
        $this->DBConn->consulta( "SELECT DAY(PTO_FECHA_CREACION)
                                  FROM PRESUPUESTO
                                  WHERE PTO_ID= $PTO_ID " );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila['DAY(PTO_FECHA_CREACION)'];
        } else {
            return false;
        }

    }

    /**
     * Devuelve el ano de la fecha de creacion, dado el id de un presupuesto
     *
     * @return <string> $fila['DAY(PTO_FECHA_CREACION)']
     * @return <bool> false
     */
    public function consultaAno( $PTO_ID ) {
        $this->DBConn->consulta( "SELECT YEAR(PTO_FECHA_CREACION)
                                  FROM PRESUPUESTO
                                  WHERE PTO_ID= $PTO_ID " );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila['YEAR(PTO_FECHA_CREACION)'];
        } else {
            return false;
        }

    }

    /**
     * Devuelve los datos de los accesorios dado el id del presupuesto
     *
     * @param <int> $PTO_ID
     * @return <Array> $fila
     * @return <bool> false
     */
    public function consultaAccesorio( $PTO_ID ) {
        $this->DBConn->consulta( "SELECT DISTINCT (acc_id), acc_nombre, acc_precio,
                                acc_cantidad
                                FROM accesorio, detalle_presupuesto, presupuesto
                                WHERE $PTO_ID = dpr_pto_id
                                AND dpr_acc_id = acc_id" );

        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ) {
            $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
     * Devuelve los datos de los aluminio dado el id del presupuesto
     *
     * @param <int> $PTO_ID
     * @return <Array> $fila
     * @return <bool> false
     */
    public function consultaAluminios( $PTO_ID ) {
        $this->DBConn->consulta( "SELECT DISTINCT (alm_id), alm_nombre, alm_tipo, alm_color,
            alm_tipo_color, alm_ancho, alm_precio, alm_cantidad
                            FROM aluminio, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_alm_id = alm_id" );

        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ) {
            $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
     * Devuelve los datos de los cristal dado el id del presupuesto
     *
     * @param <int> $PTO_ID
     * @return <Array> $fila
     * @return <bool> false
     */
    public function consultaCristales( $PTO_ID ) {
        $this->DBConn->consulta( "SELECT DISTINCT (crt_id), crt_nombre, crt_color,
                            crt_espesor, crt_ancho, crt_alto,
                            crt_precio, crt_cantidad
                            FROM cristal, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_crt_id = crt_id" );

        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ) {
            $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
     * Devuelve los datos de los puerta dado el id del presupuesto
     *
     * @param <int> $PTO_ID
     * @return <Array> $fila
     * @return <bool> false
     */
    public function consultaPuertas( $PTO_ID ) {
        $this->DBConn->consulta( "SELECT DISTINCT (pta_id), pta_nombre, pta_color,
                                pta_cristal, pta_cristal_color, pta_espesor,
                                pta_ancho, pta_alto, pta_precio_accesorio,
                                pta_precio_cristal, pta_precio_esmerilado,
                                pta_precio_instalacion, pta_cantidad, pta_tipo
                            FROM puerta, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_pta_id = pta_id" );

        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ) {
            $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
     * Devuelve los datos de los ventanas dado el id del presupuesto
     *
     * @param <int> $PTO_ID
     * @return <Array> $fila
     * @return <bool> false
     */
    public function consultaVentanas( $PTO_ID ) {
        $this->DBConn->consulta( "SELECT DISTINCT (vta_id), vta_nombre, vta_color,
                                vta_cristal, vta_cristal_color, vta_espesor,
                                vta_ancho, vta_alto, vta_precio_accesorio,
                                vta_precio_cristal, vta_precio_esmerilado,
                                vta_precio_instalacion, vta_cantidad
                            FROM ventana, detalle_presupuesto, presupuesto
                            WHERE $PTO_ID = dpr_pto_id
                            AND dpr_vta_id = vta_id" );

        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }
        if ( $ids != null ) {
            $fila = $this->DBConn->extraer_registro();
            return $ids ;
        } else {
            return false;
        }

    }

    /**
     * Devuelve los datos de UN cliente dado el id
     *
     * @param <int> $CLT_ID
     * @return <Array> $fila
     * @return <bool> false
     */
    public function consultaCliente( $CLT_ID ) {
        extract( $_GET );
        $this->DBConn->consulta( "SELECT CLT_RAZON_SOCIAL,
                                CLT_NOMBRE, CLT_APELLIDO, CLT_EMAIL,
                                CLT_TELEFONO, CLT_DIRECCION
                                FROM CLIENTE
                                WHERE CLT_ID= $CLT_ID
                                AND CLT_STATUS = 1" );

        if ( $this->DBConn->filasAfectadas() != -1) {
            $fila = $this->DBConn->extraer_registro();
            return $fila;
        } else {
            return false;
        }

    }

    /**
     * Setea un bloque con la informacion de los detalle de los presupuestos
     *
     * @param <panel> $plantillaCON
     * @param <block> $block
     * @test
     */
    public function setBlockDetalleImprimir( $plantillaCON , $block ) {
        $hBlock = $plantillaCON->setBlock( $block );
        $PTO_ID = $_GET["PTO_ID"];
        $this->DBConn->consulta( "SELECT *
                                FROM detalle_presupuesto
                                WHERE DPR_PTO_ID = $PTO_ID
                                AND DPR_STATUS = 1
                                ORDER BY DPR_POS, DPR_ID" );


        $i = 0;
        while ( $fila = $this->DBConn->extraer_registro() ) {
            $ids[$i] = $fila;
            $i++;
        }

        if ($ids != null) {
            $NOMBRE['POS'] = "";
            $oldPos = "algo";
            $entro = 0;
            $NOMBRE['CATEGORIA'] = "";
            $old = 0;
            foreach ($ids as $valor) {
                
                if ($oldPos == $valor['DPR_POS']) {
                    $NOMBRE['POS'] = ' ';
                    $entro = 1;
                } else {
                    $NOMBRE['POS'] = '<p><strong > Posición: '.$valor['DPR_POS'].'</strong></p>';
                    $oldPos = $valor['DPR_POS'];
                }

                if ($NOMBRE['POS'] == "") {
                    $NOMBRE['POS'] = '<p><strong > Posición: '.$valor['DPR_POS'].'</strong></p>';
                    $oldPos = $valor['DPR_POS'];
                }

                if ($valor['DPR_ALM_ID'] != ""){
                    $ALM_ID = $valor['DPR_ALM_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM aluminio
                                            WHERE ALM_ID = $ALM_ID
                                            AND ALM_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();

                        if ($NOMBRE['CATEGORIA'] == ""){
                            $NOMBRE['CATEGORIA'] = 'Perfil';
                        } elseif ($NOMBRE['CATEGORIA'] == "Perfil") {
                            $NOMBRE['CATEGORIA'] = '';
                            $old = 1;
                        } else {
                            $NOMBRE['CATEGORIA'] = 'Perfil';
                        }

                        $NOMBRE['CONTENIDO'] = '<p><strong >'.$filaNombre['ALM_CONTENIDO'].'</strong></p>';
                        $NOMBRE['NOMBRE'] = '<p><strong >Nombre:</strong> '.$filaNombre['ALM_NOMBRE'].'</p>';
                        $NOMBRE['TIPO'] = '<p><strong>Tipo:</strong> '.$filaNombre['ALM_TIPO'].'</p>';
                        $NOMBRE['COLOR'] = '<p><strong>Color:</strong> '. $filaNombre['ALM_COLOR'].' '.$filaNombre['ALM_TIPO_COLOR'].'</p>';
                        $NOMBRE['TIPO_CRISTAL'] = '';
                        $NOMBRE['COLOR_CRISTAL'] = '';
                        $NOMBRE['ESPESOR'] = '';
                        $NOMBRE['ANCHO'] = '<p>'.$filaNombre['ALM_ANCHO'].' mm * ';
                        $NOMBRE['ALTO'] = '';
                        $NOMBRE['PRECIO'] = $subTotal.' Bs';
                        $NOMBRE['CANT'] = $filaNombre['ALM_CANTIDAD'].' un</p>';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );

                        if ($old == 1) {
                            $NOMBRE['CATEGORIA'] = "Perfil";
                            $old = 0;
                        }
                    }
                }

                if ($valor['DPR_CRT_ID'] != ""){
                    $CRT_ID = $valor['DPR_CRT_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM cristal
                                            WHERE CRT_ID = $CRT_ID
                                            AND CRT_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();

                        if ($NOMBRE['CATEGORIA'] == ""){
                            $NOMBRE['CATEGORIA'] = 'Cristal';
                        } elseif ($NOMBRE['CATEGORIA'] == "Cristal") {
                            $NOMBRE['CATEGORIA'] = '';
                            $old = 1;
                        } else {
                            $NOMBRE['CATEGORIA'] = 'Cristal';
                        }

                        $NOMBRE['CONTENIDO'] = '<p><strong >'.$filaNombre['CRT_CONTENIDO'].'</strong></p>';
                        $NOMBRE['NOMBRE'] = '<p><strong>Nombre:</strong> '.$filaNombre['CRT_NOMBRE'].'</p>';
                        $NOMBRE['TIPO'] = '';
                        $NOMBRE['COLOR'] = '<p><strong>Color:</strong> '.$filaNombre['CRT_COLOR'].'</p>';
                        $NOMBRE['TIPO_CRISTAL'] = '';
                        $NOMBRE['COLOR_CRISTAL'] = '';
                        $NOMBRE['ESPESOR'] = '<p><strong>Espesor:</strong> '.$filaNombre['CRT_ESPESOR'].' mm</p>';
                        $NOMBRE['ANCHO'] = '<p>'.$filaNombre['CRT_ANCHO'].' mm * ';
                        $NOMBRE['ALTO'] = $filaNombre['CRT_ALTO'].' mm * ';
                        $NOMBRE['PRECIO'] = $subTotal.' Bs';
                        $NOMBRE['CANT'] = $filaNombre['CRT_CANTIDAD'].' un</p>';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );

                        if ($old == 1) {
                            $NOMBRE['CATEGORIA'] = "Cristal";
                            $old = 0;
                        }
                    }
                }

                if ($valor['DPR_ACC_ID'] != ""){
                    $ACC_ID = $valor['DPR_ACC_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM accesorio
                                            WHERE ACC_ID = $ACC_ID
                                            AND ACC_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();

                        if ($NOMBRE['CATEGORIA'] == ""){
                            $NOMBRE['CATEGORIA'] = 'Accesorio';
                        } elseif ($NOMBRE['CATEGORIA'] == "Accesorio") {
                            $NOMBRE['CATEGORIA'] = '';
                            $old = 1;
                        } else {
                            $NOMBRE['CATEGORIA'] = 'Accesorio';
                        }

                        $NOMBRE['CONTENIDO'] = '<p><strong >'.$filaNombre['ACC_CONTENIDO'].'</strong></p>';
                        $NOMBRE['NOMBRE'] = '<p><strong>Nombre:</strong> '.$filaNombre['ACC_NOMBRE'].'</p>';
                        $NOMBRE['TIPO'] = '';
                        $NOMBRE['COLOR'] = '';
                        $NOMBRE['TIPO_CRISTAL'] = '';
                        $NOMBRE['COLOR_CRISTAL'] = '';
                        $NOMBRE['ESPESOR'] = '';
                        $NOMBRE['ANCHO'] = '';
                        $NOMBRE['ALTO'] = '';
                        $NOMBRE['PRECIO'] = $subTotal.' Bs';
                        $NOMBRE['CANT'] = '<p>'.$filaNombre['ACC_CANTIDAD'].' un</p>';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );

                        if ($old == 1) {
                            $NOMBRE['CATEGORIA'] = "Accesorio";
                            $old = 0;
                        }
                    }
                }

                if ($valor['DPR_PTA_ID'] != ""){
                    $PTA_ID = $valor['DPR_PTA_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM puerta
                                            WHERE PTA_ID = $PTA_ID
                                            AND PTA_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();

                        if ($NOMBRE['CATEGORIA'] == ""){
                            $NOMBRE['CATEGORIA'] = 'Puerta';
                        } elseif ($NOMBRE['CATEGORIA'] == "Puerta") {
                            $NOMBRE['CATEGORIA'] = '';
                            $old = 1;
                        } else {
                            $NOMBRE['CATEGORIA'] = 'Puerta';
                        }

                        $NOMBRE['CONTENIDO'] = '<p><strong >'.$filaNombre['PTA_CONTENIDO'].'</strong></p>';
                        $NOMBRE['NOMBRE'] = '<p><strong>Nombre:</strong> '.$filaNombre['PTA_NOMBRE'].'</p>';
                        $NOMBRE['TIPO'] = '';
                        $NOMBRE['COLOR'] = '<p><strong>Color del aluminio:</strong> '.$filaNombre['PTA_COLOR'].'</p>';
                        $NOMBRE['TIPO_CRISTAL'] = '<p><strong>Cristal:</strong> '.$filaNombre['PTA_CRISTAL']." ".$filaNombre['PTA_ESMERILADO'].'</p>';
                        $NOMBRE['COLOR_CRISTAL'] = '<p><strong>Color del cristal:</strong> '.$filaNombre['PTA_CRISTAL_COLOR'].'</p>';
                        $NOMBRE['ESPESOR'] = '<p><strong>Espesor:</strong> '.$filaNombre['PTA_ESPESOR'].' mm</p>';
                        $NOMBRE['ANCHO'] = '<p>'.$filaNombre['PTA_ANCHO'].' mm * ';
                        $NOMBRE['ALTO'] = $filaNombre['PTA_ALTO'].' mm * ';
                        $NOMBRE['PRECIO'] = $subTotal.' Bs';
                        $NOMBRE['CANT'] = $filaNombre['PTA_CANTIDAD'].' un</p>';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );

                        if ($old == 1) {
                            $NOMBRE['CATEGORIA'] = "Puerta";
                            $old = 0;
                        }
                    }
                }

                if ($valor['DPR_VTA_ID'] != ""){
                    $VTA_ID = $valor['DPR_VTA_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM ventana
                                            WHERE VTA_ID = $VTA_ID
                                            AND VTA_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();

                        if ($NOMBRE['CATEGORIA'] == ""){
                            $NOMBRE['CATEGORIA'] = 'Ventana';
                        } elseif ($NOMBRE['CATEGORIA'] == "Ventana") {
                            $NOMBRE['CATEGORIA'] = '';
                            $old = 1;
                        } else {
                            $NOMBRE['CATEGORIA'] = 'Ventana';
                        }

                        $NOMBRE['CONTENIDO'] = '<p><strong >'.$filaNombre['VTA_CONTENIDO'].'</strong></p>';
                        $NOMBRE['NOMBRE'] = '<p><strong>Nombre:</strong> '.$filaNombre['VTA_NOMBRE'].'</p>';
                        $NOMBRE['TIPO'] = '';
                        $NOMBRE['COLOR'] = '<p><strong>Color del aluminio:</strong> '.$filaNombre['VTA_COLOR'].'</p>';
                        $NOMBRE['TIPO_CRISTAL'] = '<p><strong>Cristal:</strong> '.$filaNombre['VTA_CRISTAL']." ".$filaNombre['VTA_ESMERILADO'].'</p>';
                        $NOMBRE['COLOR_CRISTAL'] = '<p><strong>Color del cristal:</strong> '.$filaNombre['VTA_CRISTAL_COLOR'].'</p>';
                        $NOMBRE['ESPESOR'] = '<p><strong>Espesor:</strong> '.$filaNombre['VTA_ESPESOR'].' mm</p>';
                        $NOMBRE['ANCHO'] = '<p>'.$filaNombre['VTA_ANCHO'].' mm * ';
                        $NOMBRE['ALTO'] = $filaNombre['VTA_ALTO'].' mm * ';
                        $NOMBRE['PRECIO'] = $subTotal.' Bs';
                        $NOMBRE['CANT'] = $filaNombre['VTA_CANTIDAD'].' un</p>';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );

                        if ($old == 1) {
                            $NOMBRE['CATEGORIA'] = "Ventana";
                            $old = 0;
                        }
                    }
                }

                if ($valor['DPR_SIN_ID'] != ""){
                    $SIN_ID = $valor['DPR_SIN_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM suministro_instalacion
                                            WHERE SIN_ID = $SIN_ID
                                            AND SIN_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();

                        if ($NOMBRE['CATEGORIA'] == ""){
                            $NOMBRE['CATEGORIA'] = 'Suministro e Instalacion';
                        } elseif ($NOMBRE['CATEGORIA'] == "Suministro e Instalacion") {
                            $NOMBRE['CATEGORIA'] = '';
                            $old = 1;
                        } else {
                            $NOMBRE['CATEGORIA'] = 'Suministro e Instalacion';
                        }

                        $NOMBRE['CONTENIDO'] = '<p><strong >'.$filaNombre['SIN_CONTENIDO'].'</strong></p>';
                        $NOMBRE['NOMBRE'] = '<p><strong>Nombre:</strong> '.$filaNombre['SIN_NOMBRE'].'</p>';
                        $NOMBRE['TIPO'] = '';
                        $NOMBRE['COLOR'] = '';
                        $NOMBRE['TIPO_CRISTAL'] = '';
                        $NOMBRE['COLOR_CRISTAL'] = '';
                        $NOMBRE['ESPESOR'] = '';
                        $NOMBRE['ANCHO'] = '';
                        $NOMBRE['ALTO'] = '';
                        $NOMBRE['PRECIO'] = $subTotal.' Bs';
                        $NOMBRE['CANT'] = '<p>'.$filaNombre['SIN_CANTIDAD'].' un</p>';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );

                        if ($old == 1) {
                            $NOMBRE['CATEGORIA'] = "Suministro e Instalacion";
                            $old = 0;
                        }
                    }
                }

                if ($valor['DPR_OTR_ID'] != ""){
                    $OTR_ID = $valor['DPR_OTR_ID'];
                    $subTotal = number_format( $valor['DPR_SUB_TOTAL'], 2, ",", "." );
                    $this->DBConn->consulta(" SELECT *
                                            FROM OTRO
                                            WHERE OTR_ID = $OTR_ID
                                            AND OTR_STATUS = 1 ");

                    if ( $this->DBConn->filasAfectadas() != 0){
                        $filaNombre = $this->DBConn->extraer_registro();

                        if ($NOMBRE['CATEGORIA'] == ""){
                            $NOMBRE['CATEGORIA'] = 'Otro';
                        } elseif ($NOMBRE['CATEGORIA'] == "Otro") {
                            $NOMBRE['CATEGORIA'] = '';
                            $old = 1;
                        } else {
                            $NOMBRE['CATEGORIA'] = 'Otro';
                        }

                        $NOMBRE['CONTENIDO'] = '<p><strong >'.$filaNombre['OTR_CONTENIDO'].'</strong></p>';
                        $NOMBRE['NOMBRE'] = '<p><strong>Nombre:</strong> '.$filaNombre['OTR_TITULO'].'</p>';
                        $NOMBRE['TIPO'] = '';
                        $NOMBRE['COLOR'] = '';
                        $NOMBRE['TIPO_CRISTAL'] = '';
                        $NOMBRE['COLOR_CRISTAL'] = '';
                        $NOMBRE['ESPESOR'] = '';
                        $NOMBRE['ANCHO'] = '<p>'.$filaNombre['OTR_ANCHO'].' mm * ';
                        $NOMBRE['ALTO'] = $filaNombre['OTR_ALTO'].' mm * ';
                        $NOMBRE['PRECIO'] = $subTotal.' Bs';
                        $NOMBRE['CANT'] = $filaNombre['OTR_CANTIDAD'].' un</p>';

                        $plantillaCON->add( $NOMBRE );
                        $plantillaCON->concat( $hBlock );

                        if ($old == 1) {
                            $NOMBRE['CATEGORIA'] = "Otro";
                            $old = 0;
                        }
                    }
                }

            }
        } else {
            return "false";
        }

        if ($entro == 1) {
            $NOMBRE['POS'] = '<p><strong > Posición: '.$valor['DPR_POS'].'</strong></p>';
            $entro = 0;
        }

    }

}

?>